The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Integrated development environment systems (IDEs) provide software developers with computer programming tools to aid for example, developing, debugging and compiling source code of computer programs. Given a programming task, a developer can utilize IDE to develop a computer program that accomplishes the task. However, the accuracy and quality of the developed program may not be readily ascertained by IDE, leaving the developer clueless about the quality of the developed program.
One solution for testing accuracy of computer programs may be to utilize a separate set of tools in addition to IDE. Such tools may include automated test tools. Accordingly, while IDE may verify that developed source code for a task could be executed as a program, the automated test tools may verify that the program indeed accurately accomplishes the task. However, using the automated test tools to verify that a computer program performs a particular task may require a comprehensive manual configuration of the automated test tools. For example, test cases that contain inputs and expected outputs of a program may need to be manually entered into the automated test tools to properly test the program.
More importantly, neither IDE nor automated test tools may be able to evaluate the quality of computer programming of a computer program. Particularly, traditional systems lack metrics and automation to compare programs developed by different software developers. Developers that are assigned the same task may write different source code from perhaps endless permutations of source code that could accomplish the task at hand. Although the programs developed by developers may pass the test cases, the source code generated by different developers may be vastly differ in quality.